#include <glm\glm.hpp>
#include "ObjectNode.h"

class TransformNode:Node
{
public:
	TransformNode(glm::mat4 transform);
	~TransformNode(void);

	/**
	Adds a child node
	**/
	void add(Node* node);

	/**
	Recursively draw all objects below this node
	**/
	void draw( std::stack<glm::mat4> &transfstack);
	void rightmultiply(const glm::mat4 & M, std::stack<glm::mat4> &transfstack);
private:
	glm::mat4 transf;
	std::vector<Node*> children;	
};

